﻿using System;
using System.Collections.Generic;
using System.Xml.Serialization;

namespace LdtJudge.DataEngine.Model.XMLConfigModel.OptimizeConfigModel
{
    /// <summary>
    /// 要素优选配置对象
    /// </summary>
    [Serializable]
    [XmlRootAttribute("root", IsNullable = false)]
    public class OptimizeFactConfig
    {
        private List<OptimizeFactRole> _OptimizeFactRoles = new List<OptimizeFactRole>();
        private OptimizeSameNodeConfig _OptimizeSameNodeConfig = new OptimizeSameNodeConfig();
        /// <summary>
        /// 数据源配置
        /// </summary>
        [XmlElementAttribute("sourcedatadefine", IsNullable = false)]
        public OptimizeDataSourceConfig OptimizeFactDatas { get; set; }


        /// <summary>
        ///要素优选角色配置
        /// </summary>
        [XmlElementAttribute("casetype", IsNullable = false)]
        public List<OptimizeFactRole> OptimizeFactRoles
        {
            get { return _OptimizeFactRoles; }
            set { _OptimizeFactRoles = value; }

        }
        /// <summary>
        /// 相同节点数据配置
        /// </summary>
        [XmlElementAttribute("samenode", IsNullable = false)]
        public OptimizeSameNodeConfig OptimizeSameNodeConfig { get => _OptimizeSameNodeConfig; set => _OptimizeSameNodeConfig = value; }
    }
}
